期刊
  出版年
  关键词
结果中检索 Open Search
Please wait a minute...
选择: 显示/隐藏图片
1. 基于决策树推荐克隆重构的方法
折蓉蓉, 张丽萍, 侯敏, 闫盛
计算机应用    2018, 38 (7): 2037-2043.   DOI: 10.11772/j.issn.1001-9081.2017122997
摘要404)      PDF (1208KB)(241)    收藏
针对克隆代码的大量使用会导致长期软件维护问题甚至引入错误,提出了一种基于决策树的分类器来推荐克隆进行重构。首先,使用NiCad进行克隆检测;其次,收集了与克隆关系、克隆代码段和克隆上下文都相关的特征;然后,利用决策树分类器训练;最后,利用 K折交叉评估分类结果。在5款开源软件中对近600多个克隆实例进行实验,实验结果表明所提方法为每个目标系统推荐克隆重构实例时达到80%的精度。
参考文献 | 相关文章 | 多维度评价
2. 克隆代码有害性预测中的特征选择模型
王欢, 张丽萍, 闫盛, 刘东升
计算机应用    2017, 37 (4): 1135-1142.   DOI: 10.11772/j.issn.1001-9081.2017.04.1135
摘要405)      PDF (1468KB)(410)    收藏
为解决克隆代码有害性预测过程中特征无关与特征冗余的问题,提出一种基于相关程度和影响程度的克隆代码有害性特征选择组合模型。首先,利用信息增益率对特征数据进行相关性的初步排序;然后,保留相关性排名较高的特征并去除其他无关特征,减小特征的搜索空间;接着,采用基于朴素贝叶斯等六种分类器分别与封装型序列浮动前向选择算法结合来确定最优特征子集。最后对不同的特征选择方法进行对比分析,将各种方法在不同选择准则上的优势加以利用,对特征数据进行分析、筛选和优化。实验结果表明,与未进行特征选择之前对比发现有害性预测准确率提高15.2~34个百分点以上;与其他特征选择方法比较,该方法在 F1测度上提高1.1~10.1个百分点,在AUC指标上提升达到0.7~22.1个百分点,能极大地提高有害性预测模型的准确度。
参考文献 | 相关文章 | 多维度评价
3. 基于改进向量空间模型的克隆群映射方法
陈桌, 张丽萍, 王欢, 张久杰, 王春晖
计算机应用    2016, 36 (7): 2031-2037.   DOI: 10.11772/j.issn.1001-9081.2016.07.2031
摘要342)      PDF (1026KB)(314)    收藏
针对Type-3克隆代码映射方法少且效率低等问题,提出了一种基于改进向量空间模型(VSM)的映射方法。该方法将改进的VSM引入到克隆代码分析中,从而得到一种可有效映射Type-1、Type-2以及Type-3克隆代码的克隆群映射方法。首先,将克隆群文档预处理得到去除无用词的代码文档,同时提取克隆群文档的文件名、函数名等特征项;其次,提取并构建克隆群词频向量空间,利用余弦算法计算出克隆群相似度;然后,通过克隆群相似度和特征项的匹配构建克隆群映射,最终得到克隆群映射结果。对5款开源软件进行实验并人工验证,所提方法能在低时耗的前提下,保证查全率和查准率均不低于96.1%和97.1%。实验结果表明了所提方法的可行性,为后期软件演化分析提供数据支撑。
参考文献 | 相关文章 | 多维度评价
4. 基于版本间克隆映射的演化模式识别及谱系构建
张久杰, 翟晔, 王春晖, 张丽萍, 刘东升
计算机应用    2016, 36 (7): 2021-2030.   DOI: 10.11772/j.issn.1001-9081.2016.07.2021
摘要446)      PDF (1721KB)(352)    收藏
针对当前克隆谱系的构建方法较为复杂、演化模式亟需扩充等问题,提出了新的克隆代码演化模式,并根据软件版本间的克隆代码映射关系自动构建了克隆谱系。首先,针对软件每一版本进行克隆检测并利用潜在狄利克雷分配(LDA)抽取克隆代码的主题信息;然后,根据克隆代码主题的相似度确定版本间克隆代码的映射关系;进而,根据已有的映射关系为克隆代码添加演化模式并分析演化特征;最终,结合映射信息与演化模式信息完成克隆谱系的构建。针对4款开源软件进行了克隆谱系的构建实验,实验结果表明所提克隆谱系构建方法可行,证实了新提出的演化模式在克隆代码演化过程中确实存在。实验发现约90%的克隆代码在软件演化过程中比较稳定,约67%的克隆群经历的发布版本数不超过发布版本总数的一半。实验结论及理论分析将为克隆代码的后续研究及克隆代码的维护与管理提供有力支持。
参考文献 | 相关文章 | 多维度评价
5. 克隆代码有害性预测中分类不平衡问题的解决方法
王欢, 张丽萍, 闫盛
计算机应用    2016, 36 (12): 3468-3475.   DOI: 10.11772/j.issn.1001-9081.2016.12.3468
摘要512)      PDF (1160KB)(328)    收藏
针对克隆代码有害性预测中有害和无害数据分类不平衡的问题,提出一种基于随机下采样(RUS)的能够自动调整分类不平衡的 K-Balance算法。首先对克隆代码提取静态特征和演化特征构建样本数据集;然后选取比例不同的分类不平衡新数据集;接着对已选取的新数据集进行有害性预测;最后,通过观察分类器的不同表现自动选择一个最适合的分类不平衡比例值。在7款C语言开源软件共170个版本上对克隆有害性预测模型的性能进行评估,并和其他分类不平衡解决方法进行对比,实验结果表明所提方法对有害和无害克隆的分类预测效果(受试者工作特征曲线下方面积(AUC)值)提高了2.62个百分点~36.70个百分点,能有效地改善分类不平衡的预测问题。
参考文献 | 相关文章 | 多维度评价
6. 基于软件代码演化信息的克隆谱系提取方法
陈桌, 张丽萍, 王春晖
计算机应用    2016, 36 (12): 3461-3467.   DOI: 10.11772/j.issn.1001-9081.2016.12.3461
摘要738)      PDF (1115KB)(384)    收藏
针对现有克隆演化模式分类不清晰、克隆谱系提取工具少且效率低等问题,提出了根据克隆代码映射关系和演化信息自动构建克隆谱系的方法。首先通过词频向量计算、代码行距以及克隆属性相结合分阶段映射版本间克隆;然后根据映射结果为克隆群和克隆片段添加演化模式;最后串联所有版本中的克隆映射关系和演化模式构建克隆谱系。对4款开源软件进行实验并人工验证,实验结果表明克隆谱系提取工具——ECG的可行性和高效性。此外,从提取结果中发现,在演化过程中约42%的克隆代码未发生变化,发生不一致变化的克隆代码约占3.48%,此类克隆可能会引入潜在bug需要被重点关注。该方法将为克隆代码质量评估和管理提供参考和支持。
参考文献 | 相关文章 | 多维度评价
7. 基于贝叶斯网络的克隆代码有害性预测
张丽萍, 张瑞霞, 王欢, 闫盛
计算机应用    2016, 36 (1): 260-265.   DOI: 10.11772/j.issn.1001-9081.2016.01.0260
摘要467)      PDF (875KB)(412)    收藏
在软件开发过程中,程序员的复制、粘贴活动会产生大量的克隆代码,而那些发生不一致变化的克隆代码往往对程序是有害的。为了解决该问题,有效地发现程序中的有害克隆代码,提出一种基于贝叶斯网络的克隆有害性预测方法。首先,结合软件缺陷研究领域与克隆演化领域的相关研究成果,提出了两大类表征克隆代码信息的特征,分别是静态特征和演化特征;其次,通过贝叶斯网络核心算法来构建克隆有害性预测模型;最后,预测有害克隆代码发生的可能性。在5款C语言开源软件共99个版本上对克隆有害性预测模型的性能进行评估,实验结果表明该方法能够有效地实现对克隆代码有害性的预测,降低有害克隆代码对软件的威胁,提高软件质量。
参考文献 | 相关文章 | 多维度评价
8. 基于软件多版本演化提取克隆谱系
涂颖, 张丽萍, 王春晖, 侯敏, 刘东升
计算机应用    2015, 35 (4): 1169-1173.   DOI: 10.11772/j.issn.1001-9081.2015.04.1169
摘要974)      PDF (985KB)(624)    收藏

针对单个版本克隆检测结果不足以体现克隆特征这一问题,从软件多版本中自动提取克隆谱系,获得克隆在软件演化过程中表现出的模式和特征。首先基于克隆代码Token表示及其所在文件名称、函数名称等位置属性,准确映射软件历时演化版本间的克隆代码,进而识别克隆演化模式;然后匹配克隆类ID号,合并所有相邻版本间的映射结果及演化模式信息,得到克隆谱系。同时开发了相应的克隆谱系自动提取工具FCG对6款开源软件进行了测试,发现当前版本中克隆代码平均生命周期占所研究版本总数的70%以上,且大部分没有发生变化,说明大部分克隆能被较好地维护,但也存在少量不稳定的克隆可能导致软件缺陷,需要修改或重构。实验结果表明FCG可高效提取克隆谱系,有助于更好地理解克隆及有针对性地管理克隆。

参考文献 | 相关文章 | 多维度评价
9. 基于Token编辑距离检测克隆代码
张久杰, 王春晖, 张丽萍, 侯敏, 刘东升
计算机应用    2015, 35 (12): 3536-3543.   DOI: 10.11772/j.issn.1001-9081.2015.12.3536
摘要1271)      PDF (1361KB)(465)    收藏
针对当前Type-3克隆代码检测工具较少、效率偏低等问题,提出了一种基于Token的能有效检测Type-3克隆代码的检测方法。该方法同时能有效检测Type-1和Type-2克隆代码。首先将源代码Token化得到特定代码粒度的Token串,其次将所有Token串的定长子串进行映射,在对映射信息进行查询的基础上,利用编辑距离算法确定克隆对,然后通过并查集算法快速构建克隆群,最终反馈克隆代码信息。实现了原型工具FClones,利用基于代码突变的框架对工具进行了评价,并与领域内较优秀的两款工具NiCad及SimCad进行了对比。实验结果表明,FClones在检测三类克隆代码时查全率均不低于95%,查准率均不低于98%,能更好地检测Type-3克隆代码。
参考文献 | 相关文章 | 多维度评价
10. 基于潜在狄利克雷分配模型预测克隆代码不一致变化的可能
尹丽丽 张丽萍 王春辉 涂颖 刘东升
计算机应用    2014, 34 (6): 1788-1791.   DOI: 10.11772/j.issn.1001-9081.2014.06.1788
摘要171)      PDF (748KB)(401)    收藏

程序员对源代码的拷贝、粘贴及修改活动会导致软件中出现大量的克隆代码,而在版本的进化过程中,克隆代码的不一致变化是引起程序错误的主要原因,同时会增加维护成本。为了解决该问题,提出一种新的研究方法:首先构建版本间克隆群的映射关系,其次借助潜在狄利克雷分配(LDA)模型提取直系克隆群集主题,最后预测克隆代码不一致变化的可能性。对一款软件的8个版本进行了实验,实验结果的区分度明显,可以有效地预测不一致变化的可能性,评估软件质量和可信性。

参考文献 | 相关文章 | 多维度评价
11. 求解多目标柔性作业车间调度问题的两层遗传算法
张立果 黎向锋 左敦稳 张丽萍 唐浩
计算机应用    DOI: 10.11772/j.issn.1001-9081.2019061073
录用日期: 2019-08-26

12. 基于改进PCNN和知识蒸馏的学科知识实体间关系抽取
赵宇博 张丽萍 闫盛 侯敏 高茂
《计算机应用》唯一官方网站    DOI: 10.11772/j.issn.1001-9081.2023081065
录用日期: 2023-12-20